home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
051-075
/
disk_052
/
tek4010
/
menupick.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
4KB
|
138 lines
/* This file contains the function that is responsible for the
* choice from the menus. This code was extracted from DW's VT100
* emulation's main() function.
* T.Whelan Oct 1986
*/
/* all includes defines and globals */
#include "vt100.h"
extern int XMODEM_Send_File(), XMODEM_Read_File(), doksend(), dokreceive();
menupick(code)
int code;
{
int menunum, itemnum;
menunum = MENUNUM( code );
itemnum = ITEMNUM( code );
switch( menunum )
{
case 0:
switch( itemnum )
{
case 0:
do_capture(NULL);
break;
case 1:
do_send(NULL);
break;
case 2:
emits("\nXmodem Receive:");
filename(name);
multi_xfer(name,XMODEM_Read_File,0);
break;
case 3:
emits("\nXmodem Send:");
filename(name);
multi_xfer(name,XMODEM_Send_File,1);
break;
case 4:
server = TRUE;
itemnum = 5;
case 5:
emits("\nKermit Receive local name:");
filename(name);
multi_xfer(name,dokreceive,0);
break;
case 6:
server = TRUE;
emits("\nKermit Send local name:");
filename(name);
multi_xfer(name,doksend,1);
break;
case 7:
saybye();
break;
}
break;
case 1:
AbortIO(Read_Request);
switch( itemnum )
{
case 0:
Read_Request->io_Baud = 300;
break;
case 1:
Read_Request->io_Baud = 1200;
break;
case 2:
Read_Request->io_Baud = 2400;
break;
case 3:
Read_Request->io_Baud = 4800;
break;
case 4:
Read_Request->io_Baud = 9600;
break;
case 5:
Read_Request->io_Baud = 19200;
break;
}
Read_Request->IOSer.io_Command = SDCMD_SETPARAMS;
DoIO(Read_Request);
Read_Request->IOSer.io_Command = CMD_READ;
BeginIO(Read_Request);
break;
case 2:
p_mode = itemnum;
break;
case 3:
if (!itemnum && !script_on) {
emits("Script file name: ");
filename(name);
script_start(name);
}
if (itemnum && script_on) {
exit_script();
}
break;
case 4: /* screen selection */
switch(itemnum) {
case 0:
doremote(24); /* force VT100 mode */
break;
case 1:
doremote(29);
doremote(31); /* use alpha mode */
break;
case 2: /* reset and clear screens */
doremote(24);
doremote(29); /* tek screen */
doremote(27);
doremote(12);
doremote(24); /* vt100 screen */
doremote(27);
doremote('c');
break;
}
break;
case 5: /* about or quit */
switch(itemnum) {
case 0:
KeepGoing = FALSE;
break;
case 1:
about();
break;
}
break;
case 6:
TekScale = itemnum;
break;
} /* end of switch ( menunum ) */
}